package com.gp.learn.ssm.base.system.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import com.gp.learn.ssm.base.core.mybaits.base.entity.AbstractEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * 系统用户-基础信息
 * @author gp
 * @since 2020-07-23
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("app_user")
@ApiModel(value="AppUser对象", description="系统用户-基础信息")
public class AppUser extends AbstractEntity {

    private static final long serialVersionUID=1L;

    @ApiModelProperty(value = "用户ID")
    @TableId(value = "userId", type = IdType.ID_WORKER)
    private Long userId;

    @ApiModelProperty(value = "用户名")
    @TableField("userName")
    private String userName;

    @ApiModelProperty(value = "昵称")
    @TableField("nickName")
    private String nickName;

    @ApiModelProperty(value = "头像")
    private String avatar;

    @ApiModelProperty(value = "性别")
    private Boolean sex;

    @ApiModelProperty(value = "区")
    @TableField("areaId")
    private Long areaId;

    @ApiModelProperty(value = "市")
    @TableField("cityId")
    private Long cityId;

    @ApiModelProperty(value = "省")
    @TableField("proId")
    private Long proId;

    @ApiModelProperty(value = "区域全称")
    @TableField("areaName")
    private String areaName;

    @ApiModelProperty(value = "邮箱")
    private String email;

    @ApiModelProperty(value = "手机号")
    private String mobile;

    @ApiModelProperty(value = "用户类型")
    @TableField("userType")
    private String userType;

    @ApiModelProperty(value = "生日")
    private String birthday;

    @ApiModelProperty(value = "主角色")
    @TableField("roleId")
    private Long roleId;

    @ApiModelProperty(value = "职务")
    private String position;

    @ApiModelProperty(value = "职位ID")
    @TableField("positionId")
    private Long positionId;

    @ApiModelProperty(value = "部门")
    @TableField("deptId")
    private Long deptId;

    @ApiModelProperty(value = "企业ID")
    @TableField("companyId")
    private Long companyId;

    @ApiModelProperty(value = "注册IP")
    @TableField("registerIp")
    private String registerIp;

    @ApiModelProperty(value = "注册时间")
    @TableField("registerTime")
    private Date registerTime;

    @ApiModelProperty(value = "状态:0-禁用 1-启用 2-锁定")
    private Integer status;

    @ApiModelProperty(value = "邀请人ID")
    @TableField("inviterId")
    private Long inviterId;

    @ApiModelProperty(value = "邀请码")
    @TableField("shareCode")
    private String shareCode;

    @ApiModelProperty(value = "座右铭")
    private String motto;

    @ApiModelProperty(value = "备注")
    private String remark;


}
